package com.lemon.blog.web.service;

import com.lemon.blog.web.domain.BlBlog;
import com.lemon.blog.web.vo.KeyWordVO;
import com.lemon.common.core.base.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 包名称：com.lemon.blog.service
 * 类名称：IBlBlogService
 * 类描述：博客管理Service
 * 创建人：@author huangpeng
 * 创建时间：2022年04月25日 17:12
 */
public interface IBlBlogService extends BaseService<BlBlog> {

    /**
     * 查询博客管理列表
     * @Title: selectBlBlogList
     * @Description: 查询博客管理列表
     * @param blBlog
     * @return: List<BlBlog>
     * @throws:
     * @author: huangpeng
     * @Date: 2023/2/26 18:25
     */
     List<BlBlog> selectBlBlogList(BlBlog blBlog);

     /**
      * 获取推荐的文章列表
      * @Title: queryRecommendList
      * @Description: 获取推荐的文章列表
      * @return: List<BlBlog>
      * @throws:
      * @author: huangpeng
      * @Date: 2023/8/1 16:50
      */
    List<BlBlog> queryRecommendList();

    /**
     * 阅读文章
     * @Title: read
     * @Description: 阅读文章
     * @param blBlog
     * @return: int
     * @throws:
     * @author: huangpeng
     * @Date: 2023/8/21 23:37
     */
    int read(BlBlog blBlog);

    /**
     * 获取时间数据
     * @Title: queryTimeList
     * @Description: 获取时间数据
     * @param
     * @return: List<String>
     * @throws:
     * @author: huangpeng
     * @Date: 2023/9/3 20:28
     */
    List<Map<String, Object>> queryTimeList();

    /**
     * 保存搜索记录
     * @Title: saveSearchKeyWord
     * @Description: 保存搜索记录
     * @param map
     * @return: int
     * @throws:
     * @author: huangpeng
     * @Date: 2023/9/4 19:52
     */
    void saveSearchKeyWord(Map<String, Object> map);

    /**
     * 获取搜索记录列表
     * @Title: queryKeyWordList
     * @Description: 获取搜索记录列表
     * @param
     * @return: List<KeyWordVO>
     * @throws:
     * @author: huangpeng
     * @Date: 2023/9/4 20:43
     */
    List<KeyWordVO> queryKeyWordList();

    /**
     * 提交复核
     * @Title: submitApproval
     * @Description: 提交复核
     * @param blBlog
     * @return: boolean
     * @throws:
     * @author: huangpeng
     * @Date: 2023/9/8 11:24
     */
    boolean submitApproval(BlBlog blBlog);
}
